<template>
  <nav class="navbar navbar-dark bg-primary justify-content-between mb-4 px-4">
    <router-link class="navbar-brand" to="/">读书笔记分享平台</router-link>
    <ul v-if="!user.isLogin" class="list-inline mb-0">
      <li class="list-inline-item"><router-link to="/login" class="btn btn-outline-light my-2">登陆</router-link></li>
      <li class="list-inline-item"><router-link to="/signup" class="btn btn-outline-light my-2">注册</router-link></li>
    </ul>
    <ul v-else class="list-inline mb-0">
      <li class="list-inline-item">
        <dropdown :title="`你好 ${user.nickName}`">
          <dropdown-item><router-link to="/create" class="dropdown-item">新建文章</router-link></dropdown-item>
          <dropdown-item><router-link :to="`/column/${user.column}`" class="dropdown-item">我的专栏</router-link></dropdown-item>
          <dropdown-item ><router-link to="/edituser" class="dropdown-item">编辑资料</router-link></dropdown-item>
          <dropdown-item><a @click="exitLogin" class="dropdown-item">退出登陆</a></dropdown-item>
        </dropdown>
      </li>
    </ul>
  </nav>
</template>
<script lang="ts">
import { defineComponent, PropType, onMounted, computed, ref } from 'vue'
import Dropdown from './Dropdown.vue'
import DropdownItem from './DropdownItem.vue'
import { useStore } from 'vuex'
import { useRoute, useRouter } from 'vue-router'
import { UserProps, GlobalDataProps, PostProps, ResponseType } from '../store'
export default defineComponent({
  name: 'GlobalHeader',
  components: {
    Dropdown,
    DropdownItem
  },
  props: {
    user: {
      type: Object as PropType<UserProps>,
      required: true
    }
  },
  setup (props) {
    const store = useStore<UserProps>()
    const route = useRoute()
    const router = useRouter()
    const store1 = useStore()
    // store.commit('logout')
    const exitLogin = () => {
      store1.commit('logout')
    }
    const editUser = () => {
      router.push('/signup?isEdit=true')
    }
    return {
      exitLogin,
      editUser
    }
  }
})
</script>
